//065959264	Limor Bagizada	040199770	Sarit Chicotay

package Models;

import Base.NGram;

/**
 * 
 * The model interface contains the basic public methods of a model
 *
 */
public interface Model {
	
	// P_d(x) - calculate the probability of a given word according to the appropriate discounting method (for example, Lidstone or HeldOut)
	double CalculateProbability(NGram event)  throws Exception;
	
	// calculate model's probability for a word counted r times in the training corpus
	double CalculateProbability(int r)  throws Exception;
	
	// get training size
	int GetTrainingCorpusSize();
	
	// get test size
	int GetTestCorpusSize();
	
	
}
